package com.haoze.nurse.service;

import com.haoze.common.response.Result;

import java.util.Date;

public interface NurseStatisticsService {

    /**
     * 新建护理统计
     */
    Result createNewStatistics(String emrFileId);

    /**
     * 护理及病情里的统计
     * @param inpatNum
     * @param emrFileId
     * @param type
     * @return
     */
    Result doNewStatistics(String inpatNum, String emrFileId, String type, String selectDate);


    /**
     * 出入量总结
     * @param inpatNum 住院号
     * @param nodeTime 节点时间（每天7点）
     * @return
     */
    String inputOutputSummary(String inpatNum, Date nodeTime, String statisticsId);

    /**
     * 更新单类需要更新的记录
     * @param inpatNum
     * @param nodeTime
     * @param statisticsType
     */
    void updateNeedResetStatistics(String inpatNum, Date nodeTime, String statisticsType,String recordType);

    /**
     * 更新全部需要更新的记录
     * @param inpatNum
     * @param nodeTime
     */
    void updateAllNeedResetStatistics(String inpatNum, Date nodeTime,String recordType);

    /**
     * 返回出入量节点标记
     * @param type
     * @return
     */
    Result doStatistics(String type, String recordTime, String inpatNum);

    String inputOutputStatistics(String inpatNum, String recordTime, String statisticsType, String statisticsId,String recordType);

    /**
     * 一般出入量统计（除去出入量总结）
     * @param inpatNum
     * @param nodeTime
     * @param statisticsId
     * @return
     */
    String inputOutputNormal(String inpatNum, Date nodeTime, String statisticsId, String statisticsType);

    /**
     * 获取出入量类型
     * @return
     */
    Result getInOutValueType(String inpatNum, String recordTime);

    /**
     * 护理信息修改痕迹
     * @param page 页码
     * @param pageSize 长度
     * @param inpatNum 住院号
     * @return
     */
    Result modifyRecord(Integer page, Integer pageSize, String inpatNum,String recordType,String createTime,String recordTime,String userName, String createUserName,String modifyLocation,String modifyType);


    /**
     * 根据病人入院号及时间获取实时床号
     * @param inpatNum
     * @param recordTime
     * @return
     */
    Result getPreBedNo(String inpatNum, String recordTime);
}
